#ifndef __ATTRIBUTS__
#define __ATTRIBUTS__

#include "Symbole.hpp"
#include "SymboleVal.hpp"
#include "Type.hpp"
#include <vector>

enum exprType
{
    TYPE_INT,TYPE_DOUBLE
};

typedef struct {
	double val;
	exprType type;
	bool calculable;
} tAttrExpr;

typedef tAttrExpr tAttrInstr;
typedef tAttrExpr tAttrListInstr;

typedef struct {
	SymboleVal *symb;
	double val;
	exprType type;
	bool calculable;
} tAttrVarExpr;

typedef struct {
	int val;
	//bool calculable;
} tAttrEntier;

typedef struct {
	double val;
	//bool calculable;
} tAttrReel;

typedef struct {
	unsigned int idBas;
	unsigned int idHaut;
} tAttrListIdent;

typedef struct {
	unsigned int id;
	double val;
	bool calculable;
} tAttrIdent;

typedef struct {
	Type * type;
} tAttrBaseType;

#endif
